\documentclass{article}

% Configurações Genéricas ------------------------------------------------------
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[brazil]{babel}
\usepackage{sbc-template}

% Hifenização ------------------------------------------------------------------
\hyphenation{frame-works}

% Informações Pessoais ---------------------------------------------------------
\title{Proposta para Introdução ao Zend Framework}
\author{Wanderson Henrique Camargo Rosa}
\address{Semana Acadêmica de Informática -- Maio de 2011\\Centro de Ciências
Exatas e Tecnológicas\\Universidade do Vale do Rio dos Sinos -- UNISINOS
\email{wandersonwhcr@gmail.com}}

% Documento --------------------------------------------------------------------
\begin{document}

% Título -----------------------------------------------------------------------
\maketitle{}

% Apresentação -----------------------------------------------------------------
\section{Apresentação}
\label{sec:apresentacao}

Para auxiliar no desenvolvimento de aplicativos específicos utilizando
determinadas linguagens de programação, podemos recorrer a bibliotecas
específicas chamadas \emph{frameworks}. Como muitas linguagens, o PHP possui
muitos \emph{frameworks} que facilitam a programação, com estruturas prontas e
regras específicas, padronizando o desenvolvimento e otimizando o tempo de
produção do aplicativo.

Estendendo a arte e o espírito do PHP, o Zend Framework é uma biblioteca
baseada em simplicidade, melhores práticas de orientação a objetos, livre
licença corporativa e testado rigorosamente \cite{zend}. Possuindo uma
arquitetura flexível e componentes com baixa dependência entre si, podemos
utilizá-lo em qualquer projeto da linguagem buscando usufruir de códigos seguros
e de fácil reaproveitamento.

Este texto apresenta uma proposta de Introdução ao Zend Framework, que deverá
ser ministrado durante a Semana Acadêmica de Informática desta instituição. O
encontro de exibição, terá carga horária de 2 (duas) horas e abordagem sobre
utilização da biblioteca e criação de um simples aplicativo para controle de
notas escolares, envolvendo os principais padrões de projeto disponíveis.

% Objetivos --------------------------------------------------------------------
\section{Objetivos}
\label{sec:objetivos}

Criar um aplicativo simples em PHP baseado em Zend Framework, utilizando as
ferramentas disponíveis, conforme estrutura recomendada de projeto \cite{zend}.
Serão exibidos os principais padrões de projeto, bem como teorias sobre herança
e extensão das classes. Exibição de locais para inserção de código fonte
conforme arquitetura de \emph{software} MVC.

% Público Alvo -----------------------------------------------------------------
\section{Público Alvo}
\label{sec:publico-alvo}

Pessoas com conhecimentos em PHP que buscam utilizar o Zend Framework para
desenvolvimento de aplicativos. Alunos que buscam aplicar a teoria de orientação
a objetos disponível pela linguagem de programação PHP, bem como entender alguns
padrões de projeto, mais conhecidos como \emph{Design Patterns}, ou arquitetura
de \emph{software} MVC encontrados na estrutura de projeto recomendada.

% Pré-Requisitos ---------------------------------------------------------------
\section{Pré-Requisitos}
\label{sec:pre-requisitos}

Conhecimentos em programação utilizando a linguagem PHP. Conhecimentos sobre o
paradigma de programação orientado a objetos. Desejável que o aluno compreenda
como utilizar \emph{interface} para linhas de comando.

% Conteúdo Programático --------------------------------------------------------
\section{Conteúdo Programático}
\label{sec:conteudo-programatico}

\begin{enumerate}
    \item Sobre \emph{Frameworks}
    \item Definição
    \item Vantagens
    \item Instalação
    \item Proposta de Aplicativo
    \item Banco de Dados
    \item Criação de Projeto
    \item Formulários
    \item Arquitetura MVC
    \begin{enumerate}
        \item Modelo: Mapeamento do Banco de Dados
        \item Controladora: Manipulação da Informação
        \item Visualização: Renderização dos Resultados
    \end{enumerate}
    \item Resultados
    \item Documentação Disponível
\end{enumerate}

% Método de Aplicação ----------------------------------------------------------
\section{Método de Aplicação}
\label{sec:metodo-de-aplicacao}

A aplicação desta proposta não necessariamente necessita ser considerada um
minicurso. A idéia primária é trabalhar em sala de aula munida de um projetor,
onde o aplicativo resultado seria construído junto com os alunos.
Adicionalmente, será exibida uma apresentação para organizar o fluxo de
desenvolvimento.

Utilizando uma máquina previamente configurada e de sua responsabilidade, o
ministrante interage com os alunos conforme o conteúdo descrito na Seção
\ref{sec:conteudo-programatico}. O código resultante será disponibilizado após
o término da aula. Ao final, será reservado horário para que os alunos consigam
apresentar dúvidas.

% Conhecimentos ----------------------------------------------------------------
\section{Conhecimentos}
\label{sec:conhecimentos}

Definição de \emph{Framework}. Apresentação de \emph{frameworks} disponíveis na
comunidade e suas principais características. Apresentação do Zend Framework e
suas vantagens. Como adquirir o código fonte da biblioteca. Instalação em
ambientes Linux e Windows. Proposta de aplicativo para manutenir notas escolares. Criação
do banco de dados sobre MySQL. Criar a estrutura de tabelas necessárias
para armazenar dados da proposta do aplicativo. Criação de projeto em PHP
baseado na estrutura recomendada pelo Zend Framework utilizando ferramenta de
linha de comando. Breve descrição de diretórios e funcionalidades.
Desenvolvimento dos formulários que devem ser utilizados pelo aplicativo.
Apresentação da arquitetura MVC com exibição gráfica da comunicação entre
camadas. Mapeamento da estrutura de banco de dados no projeto. Criação da camada
de controle para manipular as informações provenientes da camada de modelo e
envio dos resultados para a camada de visualização. Renderização dos resultados
na camada de visualização. Finalização do aplicativo. Exibição de resultados e
facilidades obtidas utilizando a biblioteca. Apresentação de documentação
disponível para leitura. Apresentação de anotações pessoais \cite{wanderson}.

% Bibliografia -----------------------------------------------------------------
\bibliographystyle{sbc}
\bibliography{document}

\end{document}